home *** CD-ROM | disk | FTP | other *** search
AMOS Source Code | 1997-11-01 | 1.9 KB | 77 lines |
- Set Buffer 100
- Screen Open 0,320,256,32,0
- Curs Off : Flash Off : Paper 0 : Pen 1 : Cls
- Extension_8_0456 "dh1:atr.bin",9
- ST=Start(9)
- P=0
- Gosub UPDAT
- WX=1 : WY=256 : NPL=1
- PALP=0
- Do
- Repeat
- Multi Wait
- I$=Inkey$ : KS=Key Shift : MK=Mouse Key
- Until(I$<>"") or MK
- XXX=Free
- If I$="r" Then PALP=0
- If I$="p"
- Colour 0,$F00
- Do
- Repeat : Add PALP,2 : Until Deek(ST+PALP)=0
- ZZ=0
- For A=0 To Extension_8_04F8(NPL)-1
- PP=Deek(ST+PALP+A*2)
- Exit If PP and $F000
- ZZ=ZZ or PP
- Next
- If A= Extension_8_04F8(NPL) and((ZZ and $F)>4) and((ZZ and $F0)>4) and((ZZ and $F00)>4)
- For A=0 To Extension_8_04F8(NPL)-1
- Colour A,Deek(ST+PALP+A*2)
- Next
- Exit
- End If
- Loop
- End If
- If I$=" " Then Add P,WX*WY*NPL
- If I$=Cup$ and(KS and 3) Then Add P,-WX*WY*NPL*2
- If I$=Cdown$ and(KS and 3) Then Add P,WX*WY*NPL*2
- If I$=Cup$ and(KS and 3)=0 Then Add P,-WX*NPL*2
- If I$=Cdown$ and(KS and 3)=0 Then Add P,WX*NPL*2
- If I$=Cleft$ and(KS and 3)=0 Then Add P,-2
- If I$=Cright$ and(KS and 3)=0 Then Add P,2
- If I$=Cleft$ and(KS and 3) Then WX=Max(WX-1,1)
- If I$=Cright$ and(KS and 3) Then WX=Min(WX+1,20)
- If I$="+" Then NPL=Min(NPL+1,5)
- If I$="-" Then NPL=Max(NPL-1,1)
- If I$="m" Then MO=1-MO
- If MK=1 Then WY=Min(WY+1,256)
- If MK=2 Then WY=Max(WY-1,16)
- Gosub UPDAT
- Home : Print Hex$(P,6);" W:"; Extension_8_0EB8(WX*16,3);" H:"; Extension_8_0EB8(WY,3);
- Print " P:"; Extension_8_0EB8(NPL,1);" M:"; Extension_8_16A4("interleaved|normal",MO)
- Exit If I$=Chr$(27)
- Loop
- End
- UPDAT:
- Cls
- AD=P
- If MO=0
- For Y=0 To WY-1
- For PL=0 To NPL-1
- For X=0 To WX-1
- Doke Logbase(PL)+X*2+Y*40,Deek(ST+AD)
- Add AD,2
- Next
- Next
- Next
- Else
- For PL=0 To NPL-1
- For Y=0 To WY-1
- For X=0 To WX-1
- Doke Logbase(PL)+X*2+Y*40,Deek(ST+AD)
- Add AD,2
- Next
- Next
- Next
- End If
- Return